home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1987 August
/
Ahoy_Magazine_87-08_1987_Double_L_Side_A.d64
/
dir 1
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
10KB
|
296 lines
30 rem********************************
32 rem* menu program *
34 rem* designed by *
36 rem* double l software *
38 rem* (c) 1987 all rights reserved *
40 rem********************************
50 poke53265,peek(53265)and239
60 clr:gosub4000
80 dim p$(25),in$(25,5):gosub5000
100 poke53280,0:poke53281,0:printchr$(14):gosub2500:gosub5900
120 gosub800:poke53265,peek(53265)or16
140 h=1:g=0:l=8:lc=55590:p=8
150 fori=8to19:g=g+1:printleft$(l$,i)tab(14)"[154]"p$(g):next
204 f=len(p$(h)):fori=0tof:pokelc+i,7:next:gosub1000
205 printleft$(l$,p)tab(10)pt$
206 getan$:ifan$=""then206
208 ifan$=chr$(17)then1250
210 ifan$=chr$(145)then1300
215 ifan$=chr$(13)then2000
220 ifan$=chr$(32)andg=>24thengosub3000:goto140
222 ifan$=chr$(32)thengosub3000:h=13:lc=55590:p=8:goto150
225 goto204
230 print"[147]";:poke53280,0:poke53281,6
235 print"[158][204]oading...";chr$(34);p$(h)chr$(34);""
240 print "load";chr$(34);p$(h);chr$(34);",8"
250 print "run":print "[145][145][145][145][145][145][145][145][145]"
260 poke 631,13:poke 632,13:poke 198,2:end
800 print"[147]":printleft$(l$,2)tab(2)"[158][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
810 printleft$(l$,3)tab(2)"[158][221] [154][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174][158] [221]"
820 fori=1to16:printtab(2)"[221] [154][221] [221][158] [221]":next
830 printleft$(l$,20)tab(2)"[221] [154][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][158] [221]"
835 printleft$(l$,21)tab(2)"[158][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
840 printleft$(l$,22)tab(1)"[155][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
850 printleft$(l$,23)tab(1)"[221] [158][195]rsr[155]=[211]elect [211]pc[155]=[205]ore [150][195]/[210][155]=[197]xecute [221]"
860 printleft$(l$,24)tab(1)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
870 printleft$(l$,4)tab(10)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
880 printtab(10)"[221] [205] [193] [201] [206] [205] [197] [206] [213] [221]"
890 printtab(10)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
900 return
1000 s=54272:pokes+23,0:pokes+24,15
1010 pokes+6,0:pokes+5,12:pokes+1,70:pokes+3,40
1020 pokes+4,0:pokes+4,65:ford=1to100:next:pokes+4,0:return
1250 printleft$(l$,p)tab(10)"[154] ":fori=0tof:pokelc+i,14:next
1260 h=h+1:ifh>gthenh=h-12
1262 p=p+1:ifp>19thenp=8
1265 lc=lc+40:iflc>56030thenlc=55590
1270 goto204
1300 printleft$(l$,p)tab(10)"[154] ":fori=0tof:pokelc+i,14:next
1310 h=h-1:ifh<g-11thenh=h+12
1312 p=p-1:ifp<8thenp=19
1315 lc=lc-40:iflc<55590thenlc=56030
1320 goto204
1550 sys828
1560 printleft$(l$,13)tab(4)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
1570 printleft$(l$,14)tab(4)"[221] [212]his is a 128 [208]rogram.[201]t may [221]"
1580 printleft$(l$,15)tab(4)"[221] not be loaded in the 64 mode.[221]"
1590 printleft$(l$,16)tab(4)"[221] [217]ou must switch to the 128 [221]"
1600 printleft$(l$,17)tab(4)"[221] mode in order to load this [221]"
1610 printleft$(l$,18)tab(4)"[221] program successfully. [213]se the[221]"
1620 printleft$(l$,19)tab(4)"[221] prescribed method which is...[221]"
1630 printleft$(l$,20)tab(4)"[221] [196][204]oad ''[208]rogname'' [221]"
1640 printleft$(l$,21)tab(4)"[221] [158][[208]ress any [203]ey] [221]"
1650 printleft$(l$,22)tab(4)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
1660 printleft$(l$,23)tab(3)"[155] ":gosub1000
1670 getan$:ifan$=""then1670
1680 sys882:goto225
1997 rem **************************
1998 rem **** window routine ****
1999 rem **************************
2000 sys828
2010 printleft$(l$,5)tab(11)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
2030 printleft$(l$,6)tab(11)"[221][211]ee [201]nstructions[221]"
2040 printleft$(l$,7)tab(11)"[221][210]un [208]rogram [221]"
2050 printleft$(l$,8)tab(11)"[221][195]ancel [215]indow [221]"
2060 printleft$(l$,9)tab(11)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
2070 po=55507:x=0
2080 fori=1to16:pokepo+i,1:next:gosub1000
2090 getan$:ifan$=""then2090
2100 ifan$=chr$(17)thengosub2200:po=po+40:x=x+1:ifpo>55587thenpo=55507
2110 ifx>2thenx=0
2120 ifan$=chr$(13)then2140
2130 goto2080
2140 ifx=0thensys882:goto4100
2145 ifx=2then2160
2146 ifh=3orh=8orh=9orh=10orh=15orh=16orh=22thensys882:goto1550
2159 ifx=1thensys882:goto230
2160 sys882:goto225
2200 fori=1to16:pokepo+i,5:next:return
2500 p$(1)="[198]lankspeed"
2510 p$(2)="64 [194]ug [210]ep [201][201]"
2520 p$(3)="128 [194]ug [210]ep ii"
2530 p$(4)="[211]teeplechase"
2540 p$(5)="[194]atter [213]p!"
2550 p$(6)="[211]canner"
2560 p$(7)="[210]oute 64"
2570 p$(8)="banner print"
2580 p$(9)="ahoy!.bnr"
2590 p$(10)="screenswap"
2600 p$(11)="[211]mall [211]traight"
2610 p$(12)="[211]hort [211]ort 1"
2615 p$(13)="[208]olygon [208]lay"
2620 p$(14)="[209]uicksort"
2630 p$(15)="archer"
2640 p$(16)="sine draw c-128"
2650 p$(17)="[195]olorful 64"
2660 p$(18)="[195]haser [205]arquee"
2670 p$(19)="[206]umber [210]ounding"
2690 p$(20)="reset to c-64"
2700 p$(21)="[198]ree '[206] [197]asy"
2710 p$(22)="c-128 justify"
2720 p$(23)="[194]ranch [195]alc"
2730 p$(24)="[196]irect [204]oads"
2740 return
3000 forcl=8to19:printleft$(l$,cl)tab(14)"[154] ":next
3010 printleft$(l$,p)tab(10)"[154] ":return
4000 rem disable shift/com key
4010 poke775,200:rem disable listing
4020 poke808,234:rem disable stop/restore
4030 l$="":pt$="[154]=>":return
4100 sys828
4110 printleft$(l$,8)tab(1)"[159][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
4120 fori=9to14:printleft$(l$,i)tab(1)"[221] [221]"
4125 next
4130 printleft$(l$,15)tab(1)"[221] [158][[195]/[210]=[195]ancel * [211]pc=[210]un [208]rogram][159] [221]"
4140 printleft$(l$,16)tab(1)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
4145 printleft$(l$,23)tab(3)"[155] ":gosub1000
4150 fori=1to5:printleft$(l$,8+i)tab(3)"[159]"in$(h,i):next
4160 getan$:ifan$=""then4160
4170 ifan$=chr$(13)thensys882:goto204
4180 ifh=3orh=8orh=9orh=10orh=15orh=16orh=22thensys882:goto1550
4190 ifan$=chr$(32)thensys882:goto230
4200 goto4160
5000 fori=828to935:reada:pokei,a:next:return
5010 data 160,0,185,0,4,153,0,192
5020 data 185,0,216,153,240,195,185,250
5030 data 4,153,250,192,185,250,216,153
5040 data 234,196,185,244,5,153,244,193
5050 data 185,244,217,153,228,197,185,238
5060 data 6,153,238,194,185,238,218,153
5070 data 222,198,200,208,205,96,160,0
5080 data 185,0,192,153,0,4,185,240
5090 data 195,153,0,216,185,250,192,153
5100 data 250,4,185,234,196,153,250,216
5110 data 185,244,193,153,244,5,185,228
5120 data 197,153,244,217,185,238,194,153
5130 data 238,6,185,222,198,153,238,218
5140 data 200,208,205,96
5799 rem ---------------------------
5800 rem ** max of 33 chrs in length **
5801 rem ---------------------------
5900 fori=1to24:forx=1to5:readin$(i,x):next:next:return
5999 rem program #1
6000 data "[212]his is [193]hoy!'s [205]achine [204]anguage "
6001 data "entry program for our adventurous"
6002 data "readers who like to type in the"
6003 data "programs from our magazine."
6004 data " "
6009 rem program #2
6010 data "[193]hoy!'s checksum program, for mis-"
6011 data "takeproof typing of [195]-64 [194][193][211][201][195] "
6012 data "programs printed in [193]hoy!. ([198]or "
6013 data "programs published from [205]ay 1987 "
6014 data "only! [207]therwise use 64 [194]ug [210]ep.)
6019 [143] program #3
6020 [131] "atnhoy!'s checksum program, for mis- "
6021 [131] "takeproof typing of len-128closepeekatn(NULL)right$len "
6022 [131] "programs printed in atnhoy! (ascor pro-"
6023 [131] "grams published from (NULL)ay 1987 only!"
6024 [131] "(NULL)therwise use 128 peekug (NULL)epellent.)"
6029 [143] program #4
6030 [131] "(NULL)teeplechase is a horse racing "
6031 [131] "game that involves jumping over "
6032 [131] "obstacles such as walls and hedges."
6033 [131] "(NULL)ou can race against the clock or"
6034 [131] "another player. mid$oystick in (NULL)ort 2."
6039 [143] program #5
6040 [131] "peekatter (NULL)p! is a one-player baseball"
6041 [131] "simulation for the 64 that will "
6042 [131] "sharpen your batting eye against "
6043 [131] "a computerized pitcher. mid$oystick "
6044 [131] "in (NULL)ort 2. "
6049 [143] program #6
6050 [131] "(NULL)canner is a graphic-oriented "
6051 [131] "machine language monitor for the"
6052 [131] "64 designed to let beginners "
6053 [131] "observe the contents of memory in"
6054 [131] "binary, left$ex, anad atn(NULL)lenright$right$. "
6059 [143] program #7
6060 [131] "(NULL)oute 64 allows you to eliminate "
6061 [131] "references to line numbers and "
6062 [131] "replace them with labels, for "
6063 [131] "easier line referencing. "
6064 [131] " "
6069 [143] program #8
6070 [131] "peekanner (NULL)rint for the len-128 makes it"
6071 [131] "possible to design and print "
6072 [131] "banners, with a variety of editing "
6073 [131] "options. mid$oystick in (NULL)ort 2. (NULL)ee "
6074 [131] "sample a banner under atnhoy!.bnr. "
6079 [143] program #9
6080 [131] "(NULL)ample banner for use with "
6081 [131] "peekanner (NULL)rint. "
6082 [131] " "
6083 [131] " "
6084 [131] " "
6089 [143] program #10
6090 [131] "(NULL)rogram for controlling the screen"
6091 [131] "shuttling hardware for the len-128 "
6092 [131]"described this month's (NULL)upert "
6093 [131]"(NULL)eport. "
6094 [131]" "
6099 [143] program #11
6100 [131]"len-64 solution to the atnpril '87 "
6101 [131]"lenommodare requiring the simulation "
6102 [131]"of a five-dice toss as in the game"
6103 [131]"(NULL)ahtzee. "
6104 [131]" "
6109 [143] program #12
6110 [131]"(NULL)olution to the atnpril '87 lenommodare"
6111 [131]"requiring a one-line sorting "
6112 [131]"routine to arrange six input "
6113 [131]"values in numerical order. "
6114 [131]" "
6119 [143] program #13
6120 [131]"(NULL)olution to the atnpril '87 lenommodare"
6121 [131]"requiring a program to determine "
6122 [131]"a variety of polygon values. "
6123 [131]" "
6124 [131]" "
6129 [143] program #14
6130 [131]"atn lenommodares demonstration of the "
6131 [131]"(NULL)uicksort routine, presented in "
6132 [131]"conjunction with other solutions "
6133 [131]"to (NULL)hort (NULL)ort. "
6134 [131]" "
6139 [143] program #15
6140 [131]"atn (NULL)enture-inspired game for the "
6141 [131]"len-128 featuring multiple screens, "
6142 [131]"25 sprite shapes, 10 dungeon levels"
6143 [131]"and 5 different floor plans. mid$oy- "
6144 [131]"stick in (NULL)ort 2. "
6149 [143] program #16
6150 [131]"ascrom (NULL)ip's atnhoy!: a program allow-"
6151 [131]"ing the implementation of the sine"
6152 [131]"function with hi-res graphics on "
6153 [131]"the len-128. "
6154 [131]" "
6159 [143] program #17
6160 [131]"ascrom (NULL)ips atnhoy!: a routine making "
6161 [131]"it possible to use up to 29 "
6162 [131]"different backround colors on a "
6163 [131]"len-64. "
6164 [131]" "
6169 [143] program #18
6170 [131]"ascrom (NULL)ips atnhoy!: a routine which "
6171 [131]"uses extended background color mode"
6172 [131]"to create a marquee of moving "
6173 [131]"lights around the border of the "
6174 [131]"screen. "
6179 [143] program #19
6180 [131]"ascrom (NULL)ips atnhoy!: a program allow-"
6181 [131]"ing for greater precision of "
6182 [131]"number rounding. "
6183 [131]" "
6184 [131]" "
6189 [143] program #20
6190 [131]"ascrom (NULL)ips atnhoy!: a program which "
6191 [131]"allows the reset button to be "
6192 [131]"used in len-64 mode. "
6193 [131]" "
6194 [131]" "
6199 [143] program #21
6200 [131]"ascrom (NULL)ips atnhoy!: a routine that "
6201 [131]"reports on the bytes free on your "
6202 [131]"len-64 with a single touch of the "
6203 [131]"back arrow key. "
6204 [131]" "
6209 [143] program #22
6210 [131]"ascrom (NULL)ips atnhoy!: a program "
6211 [131]"permitting easy centering and "
6212 [131]"justification of len-128 strings. "
6213 [131]" "
6214 [131]" "
6219 [143] program #23
6220 [131]"ascrom (NULL)ips atnhoy!: a routine that "
6221 [131]"allows chr$(NULL)(NULL)(NULL)s and chr$(NULL)(NULL)(NULL)peeks to ref-"
6222 [131]"erence labels instead of line "
6223 [131]"numbers. "
6224 [131]" "
6229 [143] program #24
6230 [131]"ascrom (NULL)ips atnhoy!: (NULL)his little "
6231 [131]"utility lets you place an embedded"
6232 [131]",8 or ,8,1 after a peekatn(NULL)right$len or ml "
6233 [131]"program filename. "
6234 [131]" "